/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package agb.Modelo;

import agb.Conexion.Conexion;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;

/**
 *
 * @author Inicial
 */
public class UsuarioWeb {
    private String nombreUsuarioWeb,apellidoPaternoUsuarioWeb,apellidoMaternoUsuarioWeb, nombreTipoUsuarioWeb, 
            usernameUsuarioWeb,passwordUsuarioWeb, preguntaUsuarioWeb, respuestaUsuarioWeb, tipoUsuarioWeb, 
            estadoUsuarioWeb, comentarioUsuarioWeb, emailUsarioWeb, localidadUsuarioWeb, telefonoUsuarioWeb
            ,anuncioWeb, fechaAnuncioWeb, estadoAnuncio, webAnuncio;
    private int codUsuarioWeb, codPersona, codTipoUsuarioWeb, codContactoUsuarioWeb, codAnuncio;
    private String mensaje,primerNombre;

    public String getPrimerNombre() {
        return primerNombre;
    }

    public void setPrimerNombre(String primerNombre) {
        this.primerNombre = primerNombre;
    }

    public String getMensaje() {
        return mensaje;
    }

    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }
    
    public String getNombreUsuarioWeb() {
        return nombreUsuarioWeb;
    }

    public void setNombreUsuarioWeb(String nombreUsuarioWeb) {
        this.nombreUsuarioWeb = nombreUsuarioWeb;
    }

    public String getNombreTipoUsuarioWeb() {
        return nombreTipoUsuarioWeb;
    }

    public void setNombreTipoUsuarioWeb(String nombreTipoUsuarioWeb) {
        this.nombreTipoUsuarioWeb = nombreTipoUsuarioWeb;
    }

    public String getUsernameUsuarioWeb() {
        return usernameUsuarioWeb;
    }

    public void setUsernameUsuarioWeb(String usernameUsuarioWeb) {
        this.usernameUsuarioWeb = usernameUsuarioWeb;
    }

    public String getPasswordUsuarioWeb() {
        return passwordUsuarioWeb;
    }

    public void setPasswordUsuarioWeb(String passwordUsuarioWeb) {
        this.passwordUsuarioWeb = passwordUsuarioWeb;
    }

    public String getPreguntaUsuarioWeb() {
        return preguntaUsuarioWeb;
    }

    public void setPreguntaUsuarioWeb(String preguntaUsuarioWeb) {
        this.preguntaUsuarioWeb = preguntaUsuarioWeb;
    }

    public String getRespuestaUsuarioWeb() {
        return respuestaUsuarioWeb;
    }

    public void setRespuestaUsuarioWeb(String respuestaUsuarioWeb) {
        this.respuestaUsuarioWeb = respuestaUsuarioWeb;
    }

    public int getCodUsuarioWeb() {
        return codUsuarioWeb;
    }

    public void setCodUsuarioWeb(int codUsuarioWeb) {
        this.codUsuarioWeb = codUsuarioWeb;
    }

    public int getCodPersona() {
        return codPersona;
    }

    public void setCodPersona(int codPersona) {
        this.codPersona = codPersona;
    }

    public int getCodTipoUsuarioWeb() {
        return codTipoUsuarioWeb;
    }

    public void setCodTipoUsuarioWeb(int codTipoUsuarioWeb) {
        this.codTipoUsuarioWeb = codTipoUsuarioWeb;
    }
      public static boolean  validaUsuarioWeb(int cod,String password)
     {
           boolean resp = false;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_persona " +
                     "FROM usuario_web U " +
                     "INNER JOIN tipo_usuarioweb T " +
                     "  ON (T.cod_tipousuarioweb = U.cod_tipousuarioweb) " +
                     "INNER JOIN p_natural P " +
                     "  ON (U.cod_persona = P.cod_persona) " +
                     "WHERE U.activo = TRUE " +
                     "AND U.cod_persona=? and U.clave=? ";
                  
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, cod);
            ps.setString(2, password);
            rs = ps.executeQuery();
           if(rs.next())
               resp=true;
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            System.out.println("Este es un ERROR: "+ex.getMessage());
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return resp;
     }
    public UsuarioWeb  validarUsuarioWeb(String usuario)
     {
            UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_persona, U.cod_tipousuarioweb, T.nombre, " +
                     "       P.apell_paterno || ' ' || P.apell_materno || ', ' || " +
                     "       P.primer_nombre || ' ' || " +
                     "       P.otros_nombres AS personaz , P.primer_nombre,U.clave,U.alias " +
                     "FROM usuario_web U " +
                     "INNER JOIN tipo_usuarioweb T " +
                     "  ON (T.cod_tipousuarioweb = U.cod_tipousuarioweb) " +
                     "INNER JOIN p_natural P " +
                     "  ON (U.cod_persona = P.cod_persona) " +
                     "WHERE U.activo = TRUE " +
                     "AND UPPER(U.alias) = UPPER(?) ";
                  
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setString(1, usuario);
           
            rs = ps.executeQuery();
            while(rs.next()){  
               oUsuario = new UsuarioWeb();
               oUsuario.setCodPersona(rs.getInt(1));        
               oUsuario.setCodTipoUsuarioWeb(rs.getInt(2)); 
               oUsuario.setNombreUsuarioWeb(rs.getString(3)); 
               oUsuario.setPrimerNombre(rs.getString(5));
               oUsuario.setPasswordUsuarioWeb(rs.getString(6));
               oUsuario.setUsernameUsuarioWeb(rs.getString(7));
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            System.out.println("Este es un ERROR: "+ex.getMessage());
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
     }
    public static ArrayList<UsuarioWeb>  listaPersonas(){
        ArrayList<UsuarioWeb> LPersonas = new ArrayList<UsuarioWeb>();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT pn.cod_persona, pn.apell_paterno, pn.apell_materno , pn.primer_nombre " +
                "FROM P_NATURAL pn " +
                
                "   where pn.cod_persona not in (select u.cod_Persona from usuario_web u where u.cod_persona > 0)  " +
                "ORDER BY pn.apell_paterno, pn.apell_materno , pn.primer_nombre" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodPersona(rs.getInt(1));
                oUsuario.setApellidoPaternoUsuarioWeb(rs.getString(2));  
                oUsuario.setApellidoMaternoUsuarioWeb(rs.getString(3));
                oUsuario.setNombreUsuarioWeb(rs.getString(4));
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }
    
   public static List<UsuarioWeb>  listaUsuariosWeb(){
        List<UsuarioWeb> LPersonas = new ArrayList<UsuarioWeb> ();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_usuarioweb, P.apell_paterno, P.apell_materno, P.primer_nombre, U.alias " +
                "FROM usuario_web U " +
                "INNER JOIN p_natural P ON U.cod_persona = P.cod_persona " +
                
                "ORDER BY P.apell_paterno, P.apell_materno, P.primer_nombre" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodPersona(rs.getInt(1));
                oUsuario.setApellidoPaternoUsuarioWeb(rs.getString(2));  
                oUsuario.setApellidoMaternoUsuarioWeb(rs.getString(3));
                oUsuario.setNombreUsuarioWeb(rs.getString(4));
                oUsuario.setUsernameUsuarioWeb(rs.getString(5));
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }
   
    public static Vector<UsuarioWeb>  listaTipoUsuariosWeb(){
        Vector<UsuarioWeb> LPersonas = new Vector<UsuarioWeb>();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT T.cod_tipousuarioweb, T.nombre FROM tipo_usuarioweb T" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodTipoUsuarioWeb(rs.getInt(1));
                oUsuario.setTipoUsuarioWeb(rs.getString(2));         
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }
    
    public static ArrayList<UsuarioWeb>  listaAnunciosWeb(){
        ArrayList<UsuarioWeb> LPersonas = new ArrayList<UsuarioWeb>();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT A.cod_anuncio, convert(A.nombre_anuncio,'LATIN1'), A.fecha_anuncio, A.estado_anuncio " +
                "FROM anuncios A" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodAnuncio(rs.getInt(1));
                oUsuario.setAnuncioWeb(rs.getString(2)); 
                oUsuario.setFechaAnuncioWeb(rs.getString(3));
                oUsuario.setEstadoAnuncio(rs.getString(4));
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }

    public int  numeroPaginasNoticias(){
        int paginas = 0;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select (count(*)/10)+1 " +
                "from anuncios a " +
                "where a.estado_anuncio = 'A'" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            rs = ps.executeQuery();
            while(rs.next()){
                paginas = rs.getInt(1);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return paginas;
    }

    public  Vector<UsuarioWeb>  listaNoticiasPagina(int offset){
        UsuarioWeb oArchivos = null;
        Vector<UsuarioWeb> LArchivos = new Vector<UsuarioWeb>();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT a.nombre_anuncio, a.fecha_anuncio, a.web_anuncio " +
                "FROM anuncios a " +
                "where a.estado_anuncio = 'A' " +
                "order by a.cod_anuncio  " +
                "OFFSET ? " +
                "LIMIT 5";
                try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, offset);
            rs = ps.executeQuery();
            while(rs.next()){
                oArchivos = new UsuarioWeb();
                oArchivos.setAnuncioWeb(rs.getString(1));
                oArchivos.setFechaAnuncioWeb(rs.getString(2));
                oArchivos.setWebAnuncio(rs.getString(3));
                LArchivos.add(oArchivos);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LArchivos;
    }
    
 public static Vector<UsuarioWeb>  listaAnunciosWebActivos(){
        Vector<UsuarioWeb> LPersonas = new Vector<UsuarioWeb>();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT A.cod_anuncio, CONVERT(A.nombre_anuncio,'LATIN1'), A.fecha_anuncio, A.estado_anuncio, CONVERT(A.web_anuncio,'LATIN1') " +
                "FROM anuncios A " +
                "WHERE A.estado_anuncio LIKE 'A'" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodAnuncio(rs.getInt(1));
                oUsuario.setAnuncioWeb(rs.getString(2)); 
                oUsuario.setFechaAnuncioWeb(rs.getString(3));
                oUsuario.setEstadoAnuncio(rs.getString(4));
                oUsuario.setWebAnuncio(rs.getString(5));
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }
    
   public static List<UsuarioWeb>  listaComentariosUsuarioWeb(){
        List<UsuarioWeb> LPersonas = new ArrayList<UsuarioWeb> ();
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT C.cod_contacto, C.nombres, C.telefono, C.localidad, C.email,C.comentario, to_char(C.fecha_contacto,'DD/MM/YYYY')  " +
                "FROM contactos C  " +
                "ORDER BY  C.fecha_contacto desc " ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);            
            rs = ps.executeQuery();
            while(rs.next()){
                oUsuario = new UsuarioWeb();
                oUsuario.setCodContactoUsuarioWeb(rs.getInt(1));
                oUsuario.setNombreUsuarioWeb(rs.getString(2));
                oUsuario.setTelefonoUsuarioWeb(rs.getString(3));    
                oUsuario.setLocalidadUsuarioWeb(rs.getString(4)); 
                oUsuario.setEmailUsarioWeb(rs.getString(5)); 
                oUsuario.setComentarioUsuarioWeb(rs.getString(6));
                oUsuario.setFechaAnuncioWeb(rs.getString(7));
                LPersonas.add(oUsuario);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return LPersonas;
    }
   
      public static UsuarioWeb  ComentariosUsuarioWeb(int codCorreo){
        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT C.cod_contacto, C.nombres, C.telefono, C.localidad, C.email,C.comentario  " +
                " FROM contactos C  " +
                " WHERE C.cod_contacto = ? " ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codCorreo);
            rs = ps.executeQuery();
            while(rs.next()){               
                oUsuario.setCodContactoUsuarioWeb(rs.getInt(1));
                oUsuario.setNombreUsuarioWeb(rs.getString(2));
                oUsuario.setTelefonoUsuarioWeb(rs.getString(3));    
                oUsuario.setLocalidadUsuarioWeb(rs.getString(4)); 
                oUsuario.setEmailUsarioWeb(rs.getString(5)); 
                oUsuario.setComentarioUsuarioWeb(rs.getString(6));                 
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
    
     public static UsuarioWeb  anuncioWeb(int codAnuncio){
        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null; 
        String sql = "SELECT A.cod_anuncio, A.nombre_anuncio, A.fecha_anuncio, A.estado_anuncio, A.web_anuncio " +
                "FROM anuncios A " +
                "WHERE A.cod_anuncio = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codAnuncio);
            rs = ps.executeQuery();
            while(rs.next()){               
                oUsuario.setCodAnuncio(rs.getInt(1));
                oUsuario.setAnuncioWeb(rs.getString(2));
                oUsuario.setFechaAnuncioWeb(rs.getString(3));    
                oUsuario.setEstadoAnuncio(rs.getString(4)); 
                oUsuario.setWebAnuncio(rs.getString(5)); 
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
            
    public static int  esDocente(int codPersona){        
        int rpta = 0;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT COUNT(*)  " +
                "FROM profesor P " +
                "WHERE P.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getInt(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
    
    public static String generaPassword(String tempo){
    int pos = 0;
        for(int i=0;i<tempo.length();i++){
            char tmp = tempo.charAt(i);
            String test = "" + tmp;
            test = test.substring(0, 1);
            if(!test.equalsIgnoreCase("0")){
                pos = i;
                break;
            }
        }
        tempo = tempo.substring(pos , tempo.length());
        return tempo;
    }
    
    
    public static String  passwordDocente(int codPersona){        
        String rpta = "";
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT A.cod_personal  " +
                "FROM personal A " +
                "WHERE A.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getString(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        rpta = generaPassword(rpta);
        return rpta;
    }
    
    
    public static String  passwordAlumno(int codPersona){        
        String rpta = "";
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT A.cod_alumno  " +
                "FROM alumno A " +
                "WHERE A.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getString(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        rpta = generaPassword(rpta);
        return rpta;
    }
    
    
   public static int  esApoderado(int codPersona){        
        int rpta = 0;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT COUNT(*)  " +
                "FROM PARIENTE P " +
                "WHERE P.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getInt(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
      public static int  esAlumno(int codPersona){        
        int rpta = 0;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT COUNT(*)  " +
                "FROM alumno P " +
                "WHERE P.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getInt(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
   public static String UserName(String nombre, String apellidoPaterno,String apellidoMaterno){
        String username="";
        int cant = 0;
        boolean existe = true;
        StringTokenizer token = new StringTokenizer(apellidoPaterno);
            username += nombre.substring(0,1);
            while (token.hasMoreTokens()){
                    username += token.nextToken();
            }
            username += apellidoMaterno.substring(0,1);
        String temp = username;
        while(existe){
            //System.out.println(username);
            if(usuarioExiste(username)>0){
                cant = usuarioExiste(username);
                if (cant==0){
                       username = username;
                }else{
                        ++cant;
                        username = username + cant;
                }
                username = username.toUpperCase();
            }else{
                existe = false;
            }
        }
        
        return username;    
    }
   
   public static int  usuarioExiste(String username){        
        int rpta = 0;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT COUNT(*) " +
                "FROM usuario_web U " +
                "WHERE U.alias LIKE UPPER(? || '%')" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setString(1, username);
            rs = ps.executeQuery();
            while(rs.next()){                
               rpta = rs.getInt(1);        
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
   public static UsuarioWeb  usuario(int codPersona){        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select p.cod_persona, p.apell_paterno, p.apell_materno, p.primer_nombre " +
                "from p_natural p " +
                "where p.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               oUsuario.setCodPersona(rs.getInt(1));       
               oUsuario.setApellidoPaternoUsuarioWeb(rs.getString(2));
               oUsuario.setApellidoMaternoUsuarioWeb(rs.getString(3));
               oUsuario.setNombreUsuarioWeb(rs.getString(4));
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
    
   public static boolean registroUsuarioWeb( UsuarioWeb oUsuario){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "INSERT INTO USUARIO_WEB(COD_USUARIOWEB, COD_PERSONA, COD_TIPOUSUARIOWEB, ALIAS, CLAVE, ACTIVO) " +
                "VALUES(nextval('usuarioweb_seq'), ?,?,?,?,true)" ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setInt(1, oUsuario.getCodPersona());
            ps.setInt(2, oUsuario.getCodTipoUsuarioWeb());
            ps.setString(3, oUsuario.getUsernameUsuarioWeb());
            ps.setString(4, oUsuario.getPasswordUsuarioWeb());           
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
      public static boolean modificaAnuncioWeb( UsuarioWeb oUsuario){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "UPDATE anuncios  " +
                " SET nombre_anuncio = ?, " +
                " fecha_anuncio = ?, " +
                " estado_anuncio = ?, " +
                " web_anuncio = ?" +
                " WHERE cod_anuncio = ?" ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setString(1, oUsuario.getAnuncioWeb());
            ps.setString(2, oUsuario.getFechaAnuncioWeb());
            ps.setString(4, oUsuario.getWebAnuncio());
            ps.setString(3, oUsuario.getEstadoAnuncio());
            ps.setInt(5, oUsuario.getCodAnuncio());           
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   public static boolean eliminarAnuncio(int codAnuncio)
   {
        boolean rpta = false;
        Connection cn = null;

        PreparedStatement ps = null;
         String sql = "DELETE FROM anuncios  WHERE cod_anuncio = ?" ;
         try
         {
              cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codAnuncio);
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta)
            {
                Conexion.confirmarTransaccion(cn);
            }
            else
            {
                Conexion.anularTransaccion(cn);
            }
         }
         catch(SQLException ex)
         {
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
         }
         catch(Exception ex){
            ex.printStackTrace();
        }
          return rpta;
   }
   
   public static boolean eliminarUsuarioWeb(int codAnuncio)  {
        boolean rpta = false;
        Connection cn = null;

        PreparedStatement ps = null;
         String sql = "DELETE FROM usuario_web  WHERE cod_usuarioweb = ?" ;
         try{
              cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codAnuncio);
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
         }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
         }catch(Exception ex){
            ex.printStackTrace();
        }
          return rpta;
   }
      public static boolean registroAnuncioWeb( UsuarioWeb oUsuario){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "INSERT INTO anuncios(cod_anuncio, nombre_anuncio, fecha_anuncio, estado_anuncio, web_anuncio) " +
                "VALUES(nextval('anuncios_seq'), ?, ?, 'A',?)" ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setString(1, oUsuario.getAnuncioWeb());
            ps.setString(2, oUsuario.getFechaAnuncioWeb()); 
            ps.setString(3, oUsuario.getWebAnuncio()); 
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
   
      public static boolean eliminaMensajeContacto( int codMensaje){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "DELETE FROM contactos " +
                "WHERE cod_contacto = ?" ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codMensaje);                     
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
    public static UsuarioWeb  usuarioWeb(int codPersona){        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_persona, U.alias, U.clave, U.cod_tipousuarioweb " +
                "FROM usuario_web U " +
                "WHERE U.cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               oUsuario.setCodPersona(rs.getInt(1));       
               oUsuario.setUsernameUsuarioWeb(rs.getString(2));
               oUsuario.setPasswordUsuarioWeb(rs.getString(3));
               oUsuario.setCodTipoUsuarioWeb(rs.getInt(4));
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
    
    public static UsuarioWeb  datosUsuarioWeb(int codPersona){        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_usuarioweb, P.apell_paterno, P.apell_materno, P.primer_nombre, U.alias,U.clave, " +
                "CASE WHEN U.activo=TRUE THEN 'A'  WHEN U.activo=FALSE THEN 'I' END AS ESTADO, U.cod_tipousuarioweb,  T.nombre " +
                "FROM usuario_web U " +
                "INNER JOIN tipo_usuarioweb T " +
                     "  ON (T.cod_tipousuarioweb = U.cod_tipousuarioweb) " +
                "INNER JOIN p_natural P ON U.cod_persona = P.cod_persona " +
                "WHERE U.cod_usuarioweb  = ?" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setInt(1, codPersona);
            rs = ps.executeQuery();
            while(rs.next()){                
               oUsuario.setCodPersona(rs.getInt(1));       
               oUsuario.setApellidoPaternoUsuarioWeb(rs.getString(2));
               oUsuario.setApellidoMaternoUsuarioWeb(rs.getString(3));
               oUsuario.setNombreUsuarioWeb(rs.getString(4));
               oUsuario.setUsernameUsuarioWeb(rs.getString(5));
               oUsuario.setPasswordUsuarioWeb(rs.getString(6));
               oUsuario.setEstadoUsuarioWeb(rs.getString(7));
               oUsuario.setCodTipoUsuarioWeb(rs.getInt(8));
               oUsuario.setNombreTipoUsuarioWeb(rs.getString(9));
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
    
    public UsuarioWeb  validarUsuarioWeb(String usuario, String clave){        
        UsuarioWeb oUsuario = null;
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_persona,U.cod_tipousuarioweb, T.nombre, " +
                     "       P.apell_paterno || ' ' || P.apell_materno || ', ' || " +
                     "       P.primer_nombre || ' ' || " +
                     "       P.otros_nombres AS personaz , P.primer_nombre " +
                     ",U.cod_usuarioweb FROM usuario_web U " +
                     "INNER JOIN tipo_usuarioweb T " +
                     "  ON (T.cod_tipousuarioweb = U.cod_tipousuarioweb) " +
                     "INNER JOIN p_natural P " +
                     "  ON (U.cod_persona = P.cod_persona) " +
                     "WHERE U.activo = TRUE " +
                     "AND UPPER(U.alias) = UPPER(?) "
                    + "AND U.clave =?";
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setString(1, usuario);
            ps.setString(2, clave);
            rs = ps.executeQuery();
            while(rs.next()){  
               oUsuario = new UsuarioWeb();
               oUsuario.setCodPersona(rs.getInt(1));        
               oUsuario.setCodTipoUsuarioWeb(rs.getInt(2)); 
               oUsuario.setNombreUsuarioWeb(rs.getString(3)); 
               oUsuario.setPrimerNombre(rs.getString(5));
               oUsuario.setCodUsuarioWeb(rs.getInt(6));
              
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            System.out.println("Este es un ERROR: "+ex.getMessage());
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
    
        public static UsuarioWeb  buscaUsuarioWeb(String usuario, String clave){        
        UsuarioWeb oUsuario = new UsuarioWeb();
        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "SELECT U.cod_usuarioweb " +
                "FROM usuario_web U " +
                "WHERE U.alias = UPPER(?) " +
                "AND U.clave = UPPER(?)" ;
        try{
            cn = Conexion.getConexion();
            ps = cn.prepareStatement(sql);
            ps.setString(1, usuario);
            ps.setString(2, clave);
            rs = ps.executeQuery();
            if(rs.next()){                
               oUsuario.setCodUsuarioWeb(rs.getInt(1));        
            }
            else
            {
                oUsuario=null;
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return oUsuario;
    }
   
   
   public static boolean  comparaPasswordUsuarioWeb(int codPersona){
                boolean rpta = false;
                UsuarioWeb usuario = new UsuarioWeb();                
                usuario = UsuarioWeb.usuarioWeb(codPersona);                
                String pass = "";         
                if(usuario.getCodTipoUsuarioWeb()==3){
                    pass = UsuarioWeb.passwordAlumno(codPersona) ;
                }else{
                    if(usuario.getCodTipoUsuarioWeb()==4){
                        pass = usuario.getUsernameUsuarioWeb() ;
                    }else{
                        if(usuario.getCodTipoUsuarioWeb()==5){
                            pass = UsuarioWeb.passwordDocente(codPersona) ;
                        }
                    }
                }
                
                if(pass.equalsIgnoreCase(usuario.getPasswordUsuarioWeb())){
                    rpta= true;
                }else{
                    rpta = false;
                }
                return rpta;
   }
   public static boolean actualizaUsuarioWeb(int cod,String pass)
   {
         boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "UPDATE usuario_web " +
                "SET clave = ? " +
                
                "WHERE cod_persona= ? " ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setString(1, pass);
            ps.setInt(2,cod);
           
                   
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
   }
   public static boolean actualizaUsuarioWeb(UsuarioWeb oUsuario){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String sql = "UPDATE usuario_web " +
                "SET clave = ?, " +
                "pregunta_secreta = ?, " +
                "respuesta_secreta = ? " +
                "WHERE cod_persona = ?" ;
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);
            ps.setString(1, oUsuario.getPasswordUsuarioWeb());
            ps.setString(2, oUsuario.getPreguntaUsuarioWeb());
            ps.setString(3, oUsuario.getRespuestaUsuarioWeb());
            ps.setInt(4, oUsuario.getCodPersona());           
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
      public static boolean actualizaUsuarioWebAdmi(UsuarioWeb oUsuario){
        boolean rpta = false;
        Connection cn = null;
        PreparedStatement ps = null;
        String estado = null;
        String pass = null;
        if(oUsuario.getEstadoUsuarioWeb().equalsIgnoreCase("I")){
                    estado = " TRUE ";
                }                
        if(oUsuario.getEstadoUsuarioWeb().equalsIgnoreCase("A")){
            estado = " FALSE ";
        }
        if(oUsuario.getPasswordUsuarioWeb().equalsIgnoreCase("")){
                    pass = " clave ";
        }else{
                    pass = "'" + oUsuario.getPasswordUsuarioWeb()+ "'";
        }
        String sql = "UPDATE usuario_web   " +
                "SET activo = " + estado + 
                ", clave = " + pass + 
                " WHERE cod_usuarioweb = ? ";
        try{
            cn = Conexion.getConexion();
            cn.setAutoCommit(false);
            ps = cn.prepareStatement(sql);                                       
            ps.setInt(1, oUsuario.getCodPersona());
            rpta = ps.executeUpdate()==1?true:false;
            if(rpta){
                Conexion.confirmarTransaccion(cn);
            }else{
                Conexion.anularTransaccion(cn);
            }
        Conexion.cerrarPreparedStatement(ps);
        Conexion.cerrarConexion(cn);
        }catch(SQLException ex){
            ex.printStackTrace();
            Conexion.cerrarPreparedStatement(ps);
            Conexion.cerrarConexion(cn);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return rpta;
    }
   
    public String getApellidoPaternoUsuarioWeb() {
        return apellidoPaternoUsuarioWeb;
    }

    public void setApellidoPaternoUsuarioWeb(String apellidoPaternoUsuarioWeb) {
        this.apellidoPaternoUsuarioWeb = apellidoPaternoUsuarioWeb;
    }

    public String getApellidoMaternoUsuarioWeb() {
        return apellidoMaternoUsuarioWeb;
    }

    public void setApellidoMaternoUsuarioWeb(String apellidoMaternoUsuarioWeb) {
        this.apellidoMaternoUsuarioWeb = apellidoMaternoUsuarioWeb;
    }

    public String getTipoUsuarioWeb() {
        return tipoUsuarioWeb;
    }

    public void setTipoUsuarioWeb(String tipoUsuarioWeb) {
        this.tipoUsuarioWeb = tipoUsuarioWeb;
    }

    public String getEstadoUsuarioWeb() {
        return estadoUsuarioWeb;
    }

    public void setEstadoUsuarioWeb(String estadoUsuarioWeb) {
        this.estadoUsuarioWeb = estadoUsuarioWeb;
    }

    public String getComentarioUsuarioWeb() {
        return comentarioUsuarioWeb;
    }

    public void setComentarioUsuarioWeb(String comentarioUsuarioWeb) {
        this.comentarioUsuarioWeb = comentarioUsuarioWeb;
    }

    public String getEmailUsarioWeb() {
        return emailUsarioWeb;
    }

    public void setEmailUsarioWeb(String emailUsarioWeb) {
        this.emailUsarioWeb = emailUsarioWeb;
    }

    public String getLocalidadUsuarioWeb() {
        return localidadUsuarioWeb;
    }

    public void setLocalidadUsuarioWeb(String localidadUsuarioWeb) {
        this.localidadUsuarioWeb = localidadUsuarioWeb;
    }

    public String getTelefonoUsuarioWeb() {
        return telefonoUsuarioWeb;
    }

    public void setTelefonoUsuarioWeb(String telefonoUsuarioWeb) {
        this.telefonoUsuarioWeb = telefonoUsuarioWeb;
    }

    public int getCodContactoUsuarioWeb() {
        return codContactoUsuarioWeb;
    }

    public void setCodContactoUsuarioWeb(int codContactoUsuarioWeb) {
        this.codContactoUsuarioWeb = codContactoUsuarioWeb;
    }

    public String getAnuncioWeb() {
        return anuncioWeb;
    }

    public void setAnuncioWeb(String anuncioWeb) {
        this.anuncioWeb = anuncioWeb;
    }

    public String getFechaAnuncioWeb() {
        return fechaAnuncioWeb;
    }

    public void setFechaAnuncioWeb(String fechaAnuncioWeb) {
        this.fechaAnuncioWeb = fechaAnuncioWeb;
    }

    public int getCodAnuncio() {
        return codAnuncio;
    }

    public void setCodAnuncio(int codAnuncio) {
        this.codAnuncio = codAnuncio;
    }

    public String getEstadoAnuncio() {
        return estadoAnuncio;
    }

    public void setEstadoAnuncio(String estadoAnuncio) {
        this.estadoAnuncio = estadoAnuncio;
    }

    public String getWebAnuncio() {
        return webAnuncio;
    }

    public void setWebAnuncio(String webAnuncio) {
        this.webAnuncio = webAnuncio;
    }

    @Override
    public String toString() {
        return "UsuarioWeb{" + "nombreUsuarioWeb=" + nombreUsuarioWeb + ", apellidoPaternoUsuarioWeb=" + apellidoPaternoUsuarioWeb + ", apellidoMaternoUsuarioWeb=" + apellidoMaternoUsuarioWeb + ", nombreTipoUsuarioWeb=" + nombreTipoUsuarioWeb + ", usernameUsuarioWeb=" + usernameUsuarioWeb + ", passwordUsuarioWeb=" + passwordUsuarioWeb + ", preguntaUsuarioWeb=" + preguntaUsuarioWeb + ", respuestaUsuarioWeb=" + respuestaUsuarioWeb + ", tipoUsuarioWeb=" + tipoUsuarioWeb + ", estadoUsuarioWeb=" + estadoUsuarioWeb + ", comentarioUsuarioWeb=" + comentarioUsuarioWeb + ", emailUsarioWeb=" + emailUsarioWeb + ", localidadUsuarioWeb=" + localidadUsuarioWeb + ", telefonoUsuarioWeb=" + telefonoUsuarioWeb + ", anuncioWeb=" + anuncioWeb + ", fechaAnuncioWeb=" + fechaAnuncioWeb + ", estadoAnuncio=" + estadoAnuncio + ", webAnuncio=" + webAnuncio + ", codUsuarioWeb=" + codUsuarioWeb + ", codPersona=" + codPersona + ", codTipoUsuarioWeb=" + codTipoUsuarioWeb + ", codContactoUsuarioWeb=" + codContactoUsuarioWeb + ", codAnuncio=" + codAnuncio + '}';
    }

    
    

}
